The present embodiments relate to testing a host machine. More specifically, the embodiments relate to vertical replication of a guest operating system.
A virtualized host machine can be configured to run one or more virtual machines. Each virtual machine is allocated a portion of available resources from the host machine and runs an operating system (OS), referred to herein as a host OS, and one or more applications. More specifically, each virtual machine is a software program or OS that not only exhibits the behavior of a separate computer, but is also capable of performing tasks such as running applications and programs like a separate computer. A hypervisor or virtual machine monitor is software, firmware, or hardware that creates and runs virtual machines, and thereby enables the virtualization. Accordingly, the virtualized host OS emulates the underlying hardware of the host machine, making the use of the virtual machine transparent to the OS running in the virtual machine.
A booting of the host OS scans hardware in a predetermined order, until a bootable hardware device is found and the host OS is loaded and booted from the bootable hardware device. Similarly, a booting of a virtual machine of the virtualized host machine includes a loading of a guest OS by the host OS, which scans virtualized hardware in some predetermined order, until a bootable virtual device is found and the virtual OS is loaded and booted from the bootable virtual device.
An OS has a directory and a list of user accounts. A “guest” is referred to as a logged-on user session. The host OS provides various capabilities and the environment to the guest, including, but not limited to, access to memory and data storage. Before the guest starts its own OS, referred to herein as a guest OS, it must first acquire necessary resources, such as read/write storage, which is acquired in the form of virtual disks (VDISKs). Memory required for a VDISK is allocated from the hosting OS's memory.